package com.itheima.reggie.common;

/**
 * 基于ThreadLocal封装工具类，用户保存和获取当前登录用户id
 * 作用范围是某个线程之内
 */

public class BaseContext {
    private static ThreadLocal<Long> threadLocal = new ThreadLocal<>();
    public static void setCurrentId(Long id){
        threadLocal.set(id);

    }
    public static Long getCurrentId(){
        return threadLocal.get();
    }

    //    这段代码定义了一个静态的 `ThreadLocal` 变量 `threadLocal`，用于在每个线程中存储一个 `Long` 类型的值。
//    每个线程可以通过 `threadLocal.get()` 方法获取自己线程中存储的值，也可以通过 `threadLocal.set(value)` 方法
//    设置自己线程中的值。需要注意的是，`ThreadLocal` 中存储的值是线程私有的，不会被其他线程访问到，因此适合在多线程环境下使用。
}
